home *** CD-ROM | disk | FTP | other *** search
/ PCDisk Magazine Disks / PCDisk Magazine - Disk 1.img / BIO.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-03-09  |  9.9 KB  |  182 lines

  1. 100  REM BIORHYTHMS Copyright (c) 1983 by C-Level Software
  2. 300  ONERRORGOTO8090
  3. 310  WIDTH80:SCREEN0,0,0:DEFINTA,I,J,K,S:KEYOFF:DIMMNAM$(12),S$(3),MON(24),DAY1$(6),DAY2$(6),ADJ(12),PRT$(12):DIMNAM$(20),BMON(20),BDAY(20),BYR(20),BY1(20):CS$=STRING$(70," "):INVAL$="Enter numbers only.":AUT=0:CX=0:S$(1)="P":S$(2)="S
  4. 400  EM1$="Month > 12":EM2$="Month < 1":ED1$="Day > 31":ED2$="Day < 1
  5. 430  S$(3)="I":B$="........   ":DELET=1:FOR I=0 TO 6:READ DAY2$(I):DAY1$(I)=LEFT$(DAY2$(I),3)+".":NEXT I:FOR I=1 TO 12:READ ADJ(I):READ MNAM$(I):NEXT I:DEF SEG=&HFF0:FOR J=0 TO 13:READ K:POKE J,K:NEXT J:S=0:CALL S(K):CLS
  6. 770  IF(KAND&H30)=&H30THENLOCATE,,1,12,13:COLOR0,7 ELSECOLOR0,4:LOCATE,,1,6,7
  7. 790  PMON=VAL(DATE$):PDAY=VAL(MID$(DATE$,4,2)):PY1=VAL(RIGHT$(DATE$,2)):PYR=VAL(RIGHT$(DATE$,4)):M1=PMON:D1=PDAY:Y1=PY1:GOSUB6990:PDAY$=DAY2$(R1):RZ=R1:HOLD=RZ:LN=5:LS=25:HG=3:TP=31:LOCATE1,22,1:PRINT" >> Plot Personal Biorhythm Curves. <<
  8. 960  COLOR7,0:GOSUB7550
  9. 980  LOCATE7,27,1:PRINT"Automatic listing? (Y/N): ";:GOSUB6380:IFF=78ORF=89THEN1010
  10. 1004  BEEP:LOCATE24,34,0:COLOR7,0:PRINT"Select ";:COLOR15,0:PRINT"Y";:COLOR7,0:PRINT" or ";:COLOR15,0:PRINT"N";:COLOR7,0:FORI=1TO3000:NEXTI:LOCATE24,34:PRINTSTRING$(20,32);:GOTO980
  11. 1010  TOP=5:BOTT=9:GOSUB7740:AUT=0:IFF=78GOTO1280
  12. 1060  AUT=1:LOCATE10,1:FILES:LS=9:S=POS(0)-1:TP=59:GOSUB7550:LOCATE7,12:PRT$(0)="Enter a Filename or Press ENTER to accept:":FILE1$="NAME.TXT":PRT$(1)=FILE1$:DIS=1:GOSUB7840:LOCATE7,56:GOSUB6470:IFCR=0GOTO1250
  13. 1220  LOCATE,57:INPUT"",FILE1$:FILE1$=OF$+FILE1$
  14. 1250  OPEN "i",#2,FILE1$:GOSUB7170:CLS
  15. 1280  LS=18:HG=3:TP=46:GOSUB7550:LOCATE7,20:PRT$(0)="Output device  ":PRT$(1)="F":PRT$(2)="ile, ":PRT$(3)="S":PRT$(4)="creen, ":PRT$(5)="L":PRT$(6)="ine printer: ":PRT$(7)="":DIS=8:GOSUB7840:LOCATE,POS(0):SV=POS(0):GOSUB6380:PRT=0:LOCATE,SV,0
  16. 1475  PRINTCHR$(F):IFF=83ORF=76ORF=70THEN1500
  17. 1490  BEEP:LOCATE24,33:COLOR7,0:PRINT"Select ";:COLOR15,0:PRINT"F";:COLOR7,0:PRINT", ";:COLOR15,0:PRINT"S";:COLOR7,0:PRINT" or ";:COLOR15,0:PRINT"L";:COLOR7,0:FORI=1TO3000:NEXTI:LOCATE24,33:PRINTSTRING$(20,32);:GOTO1280
  18. 1500  FORI=1TO700:NEXT:FIL=0:SCR=0:IFF=13ORF=83THENSCR=1 ELSEIFF=76THENPRT=1 ELSEFIL=1:DELET=1:AP=0
  19. 1560  GOSUB7740:PMON1$=LEFT$(DATE$,2):PDAY1$=MID$(DATE$,4,2):PYR$=RIGHT$(DATE$,4)
  20. 1600  LS=24:HG=6:TP=34:GOSUB7550:A$=LEFT$(B$,8):LOCATE7,26:PRINT"Enter date for start of plot as":LOCATE8,32:PRINT"Month";A$;:COLOR15:PRINTPMON1$:COLOR7:LOCATE9,32:PRINT"Day  ";A$;:COLOR15:PRINTPDAY1$:COLOR7:LOCATE10,32:PRINT"Year ";A$;
  21. 1790  COLOR15:PRINTRIGHT$(PYR$,2):COLOR7:LOCATE8,45:INPUT"",A1$:LOCATE23,1:IFA1$=""THENPMON=VAL(PMON1$):GOTO1860 ELSEPMON=VAL(A1$)
  22. 1852  INVAL=0:GOSUB10000:IFINVALTHENINVAL=0:PRINTINVAL$:GOTO1600
  23. 1860  IFPMON>12THENPRINTEM1$:GOTO1600
  24. 1870  IFPMON<1THENPRINTEM2$:GOTO1600
  25. 1880  LOCATE23,1:PRINTCS$+"  
  26. 1900  LOCATE9,45:INPUT"",A1$:LOCATE23,1:IFA1$=""THENPDAY=VAL(PDAY1$):GOTO1940 ELSEPDAY=VAL(A1$)
  27. 1932  INVAL=0:GOSUB10000:IFINVALTHENINVAL=0:PRINTINVAL$:GOSUB13000:GOTO1900
  28. 1940  IFPDAY>31THENPRINTED1$:GOSUB13000:GOTO1900
  29. 1950  IFPDAY<1THENPRINTED2$:GOSUB13000:GOTO1900
  30. 1960  LOCATE23,1:PRINTCS$
  31. 1980  LOCATE10,45:INPUT"",A1$:LOCATE23,1:IFA1$=""THENPYR$=PYR$:GOTO2010 ELSEPYR$=A1$
  32. 2002  INVAL=0:GOSUB10000:IFINVALTHENINVAL=0:PRINTINVAL$:GOSUB12000:GOTO1980
  33. 2010  LOCATE23,1:PRINTCS$:IFLEN(PYR$)<4THENPYR$="19"+PYR$
  34. 2040  IFLEN(PYR$)>4ORLEN(PYR$)<4THENGOSUB12000:GOTO1980
  35. 2050  PYR=VAL(PYR$):PY1=VAL(MID$(PYR$,3,2)):FDATE=PMON+PDAY+PYR:BOTT=12:GOSUB7740:LS=16:HG=3:TP=49:GOSUB7550:LOCATE7,18:PRINT"Enter number of days to be plotted: ";
  36. 2160  COLOR15:PRINT"47";:COLOR7:LOCATE,POS(0)-2:INPUT"",ND$:A1$=ND$:INVAL=0:GOSUB10000:IFINVALTHENINVAL=0:LOCATE23,1,0:PRINTINVAL$;:LOCATE7,56,0:PRINTSTRING$(10,32);:LOCATE7,56,1:GOTO2160
  37. 2204  ND=VAL(ND$):LOCATE23,1,0:PRINTCS$;:LOCATE,,1:IFND=0THENND=47
  38. 2220  IFAUTTHENIFPRTGOTO7100 ELSE2960
  39. 2240  LS=15:TP=50:GOSUB7550:LOCATE7,17:PRINT"Biorhythm plot for (NAME): ";:INPUT"",NAM$:IFNAM$=""THENLOCATE23,1:PRINT"Enter a NAME please":GOTO2240
  40. 2310  BOTT=9:GOSUB7740:IFASC(NAM$)>90THENNAM$=CHR$(ASC(NAM$)-32)+RIGHT$(NAM$,LEN(NAM$)-1)
  41. 2340  LS=27:HG=6:TP=26:GOSUB7550:LOCATE7,29:PRINT"Enter Date of birth as":LOCATE8,35:PRINT"Month"+B$:LOCATE9,35:PRINT"Day  "+B$:LOCATE10,35:PRINT"Year "+B$
  42. 2460  LOCATE8,48:INPUT"",BMON$:A1$=BMON$:INVAL=0:GOSUB10000:LOCATE23,1:IFINVALTHENINVAL=0:PRINTINVAL$;:GOSUB14000:GOTO2460
  43. 2488  BMON=VAL(BMON$):IFBMON>12THENPRINTEM1$":GOSUB 14000:GOTO 2460
  44. 2500  IFBMON<1THENPRINTEM2$:GOSUB14000:GOTO2460
  45. 2510  LOCATE23,1:PRINTCS$
  46. 2530  LOCATE9,48:INPUT"",BDAY$:A1$=BDAY$:INVAL=0:GOSUB10000:LOCATE23,1:IFINVALTHENINVAL=0:PRINTINVAL$;:GOSUB14010:GOTO2530
  47. 2558  BDAY=VAL(BDAY$):IFBDAY>31THENPRINTED1$:GOSUB14010:GOTO2530
  48. 2570  IFBDAY<1THENPRINTED2$:GOSUB14010:GOTO2530
  49. 2580  LOCATE23,1:PRINTCS$
  50. 2600  LOCATE10,48:INPUT"",BYR$:A1$=BYR$:INVAL=0:GOSUB10000:IFINVALTHENINVAL=0:LOCATE23,1:PRINTINVAL$;:GOSUB14020:GOTO2600
  51. 2620  IFLEN(BYR$)<4THENBYR$="19"+BYR$
  52. 2630  IFLEN(BYR$)>4ORLEN(BYR$)<4THENGOSUB14020:GOTO2600
  53. 2635  BYR=VAL(BYR$):IFBYR>PYRTHENLOCATE23,1:PRINT"Plot year < Birth year":GOTO2340
  54. 2660  BY1=VAL(RIGHT$(BYR$,2)):BOTT=12:GOSUB7740:LOCATE11,19-(LEN(NAM$)\2):PRT$(1)=NAM$:PRT$(2)=" was born ---->":PRT$(4)=" Month ":PRT$(5)=MNAM$(BMON):PRT$(6)=" Day":PRT$(7)=STR$(BDAY):PRT$(8)=" Year":PRT$(9)=STR$(BYR):DIS=10:GOSUB7840:M1=BMNO
  55. 2810  D1=BDAY:Y1=BY1:GOSUB6990:BDAY$=DAY2$(R1):LS=20:HG=3:TP=42:GOSUB7550
  56. 2890  LOCATE7,22:PRINT"Is this information correct (Y/N): ";:GOSUB6380:IFF=78ORF=89THEN2920
  57. 2914  BEEP:LOCATE24,34,0:COLOR7,0:PRINT"Select ";:COLOR15,0:PRINT"Y";:COLOR7,0:PRINT" or ";:COLOR15,0:PRINT"N";:COLOR7,0:FORI=1TO3000:NEXTI:LOCATE24,34:PRINTSTRING$(20,32);:GOTO2890
  58. 2920  CLS:IFF=78GOTO2340
  59. 2940  CX=2:NAM$(1)=NAM$
  60. 2960  CZ=0:C=0:LOCATE,,0
  61. 2990  CZ=CZ+1:IFCZ=CXTHENAUT=0
  62. 3010  NAM$=NAM$(CZ):IFNAM$=""GOTO4290
  63. 3030  IFSCRTHENCLOSE#1:OPEN "O",#1,"SCRN:" :GOSUB5850
  64. 3040  IFFILTHENIFCZ=1ORAP=0THENGOSUB6580
  65. 3050  IFPRTTHENCLOSE#1:OPEN "O",#1,"LPT1:" :GOSUB5680:IFCZ>1THENPRINT#1,CHR$(12)
  66. 3060  IFAUT=0GOTO3120
  67. 3070  BMON=BMON(CZ):BDAY=BDAY(CZ):BY1=BY1(CZ):BYR=BYR(CZ):RZ=HOLD
  68. 3120  CC=0:C=0:M1=BMON:D1=BDAY:Y1=BY1:GOSUB6990:BDAY$=DAY2$(R1):CLS:LOCATE1,23-(LEN(NAM$)\2),0:PRT$(0)="Plot executing for ":PRT$(1)=NAM$:PRT$(2)=" Please standby":DIS=3:GOSUB7840:LOCATE3,29:PRINT"Press <Esc> to abort":COLOR7,0
  69. 3320  L1$=STRING$(77,L1):L2$=STRING$(77,L2):L3$=STRING$(77,L3):BD=BDAY:TDAY=DAYS:BM=BMON:BY=BYR:ED=PDAY:EM=PMON:EY=PYR:GOSUB5240:BDAY=BD:DAYS=TDAY:BMON=BM:BYR=BY:PDAY=ED:PMON=EM:PYR=EY:PP=INT(DAYS/23):PS=INT(DAYS/28):PI=INT(DAYS/33):SP=DAYS-23*PP
  70. 3540  SS=DAYS-28*PS:SI=DAYS-33*PI:BD=PDAY:BM=PMON:BY=PYR:IFBM=1THENNMO=2 ELSENMO=1
  71. 3600  AMP=20:F$=CHR$(COD3)+STRING$(11,32):P$=STRING$(18,32):FF$=F$+P$:PRINT#1,CHR$(COD4);L1$;CHR$(COD5):Z$=F$+"Biorhythm plot for "+NAM$:PRINT#1,Z$;SPACE$(78-LEN(Z$));CHR$(COD):N11$=F$+"Date of birth: "+BDAY$+", "+MNAM$(BMON)+STR$(BDAY)+STR$(BYR)
  72. 3680  PRINT#1,N11$;SPACE$(78-LEN(N11$));CHR$(COD):PDATE=VAL(MID$(DATE$,1,2))+VAL(MID$(DATE$,4,2))+VAL(MID$(DATE$,7,4)):IFFDATE>PDATETHENT$=" will " ELSET$=" 
  73. 3710  GOSUB6030:N11$=F$+"On "+MNAM$(PMON)+STR$(PDAY)+","+STR$(PYR)+" you"+T$+"have lived"+STR$(DAYS)+" days.":PRINT#1,N11$;SPACE$(78-LEN(N11$));CHR$(COD):PRINT#1,FF$;S$(1);" - 23 day Physical Cycle";SPACE$(23);CHR$(COD)
  74. 3750  PRINT#1,FF$;S$(2);" - 28 day Sensitivity Cycle";SPACE$(20);CHR$(COD):PRINT#1,FF$;S$(3);" - 33 day Intellectual Cycle";SPACE$(19);CHR$(COD):PRINT#1,CHR$(COD1);L2$;CHR$(COD2):PRINT#1,CHR$(COD3);P$;"      -1";P$;" 0";P$;"+1";SPC(11);CHR$(COD)
  75. 3790  PRINT#1,CHR$(COD1);L2$;CHR$(COD2):PRINT#1,CHR$(COD3);SPC(LEN(L2$));CHR$(COD):GOSUB6030:CC=1:FORI=0TOND-1:IFFILE$>""THEN3870
  76. 3860  IFCC=1ANDC=12ANDSCRTHENGOSUB6250:CC=0:C=0
  77. 3870  IFCC=0ANDC=24ANDSCRTHENGOSUB6250:C=0
  78. 3880  PER=18:L$="."+P$+" ."+P$+" .":FORK=1TO3:PER=PER+5:IFK=1THENR=SP+I
  79. 3940  IFK=2THENR=SS+I
  80. 3950  IFK=3THENR=SI+I
  81. 3960  X=6.28319*R/PER:Y=AMP*SIN(X):Y=INT(Y+0.5):C$=MID$(L$,Y+21,1):B$=MID$(L$,1,Y+20):T$=MID$(L$,Y+22,41-Y+21):IFC$=" "THENL$=B$+S$(K)+T$ ELSEL$=B$+"*"+T$
  82. 4030  NEXTK:GOSUB6030:IFBD<10THENFB$=STRING$(15," ")+DAY1$(RZ)+" " ELSEFB$=STRING$(15," ")+DAY1$(RZ)
  83. 4060  FZ$=CHR$(COD3)+FB$+STR$(BD)+"   "+L$:IFNMO=BMTHENPRINT#1,FZ$;SPACE$(78-LEN(FZ$));CHR$(COD):GOTO4120
  84. 4080  IFBD<10THENM$=MNAM$(BM)+" " ELSEM$=MNAM$(BM)
  85. 4090  FZ$=LEFT$(F$,10)+STR$(BY)+" "+M$+STR$(BD)+"   "+L$:PRINT#1,FZ$;SPACE$(78-LEN(FZ$));CHR$(COD):NMO=BM
  86. 4120  D=BD:M=BM:Y=BY:GOSUB4550:BD=D:BM=M:BY=Y:C=C+1:RZ=RZ+1:IFRZ=7THENRZ=0
  87. 4220  GOSUB6030:NEXTI
  88. 4290  GOSUB4470:LOCATE23,1:IFAUTANDCZ+1<CXTHENIFPRTORFILGOTO2990 ELSEGOSUB6250:GOTO2990
  89. 4320  PRINT:PRINT"Plotting has terminated. Another plot? (Y/N)";:GOSUB6380:IFF=78ORF=89THEN4350
  90. 4344  BEEP:LOCATE23,1:GOTO4320
  91. 4350  CLS:IFF=89THENIFPRTTHENPRINT#1,CHR$(12):CLEAR:GOTO300 ELSECLEAR:GOTO300
  92. 4370  IFPRTTHENPRINT#1,CHR$(12):PRINT#1,CHR$(30)
  93. 4400  CLOSE:PRINT"-OK- COME AGAIN SOON!!":FORJ=1TO3000:NEXTJ:SYSTEM
  94. 4460  PRINT#1,CHR$(COD3);SPC(LEN(L2$));CHR$(COD)
  95. 4470  PRINT#1,CHR$(COD6);L3$;CHR$(COD7):RETURN
  96. 4550  LEAP$="F":HY=Y/100:BY=INT(HY):IFHY<>BYTHEN4640
  97. 4590  HY=Y/400:BY=INT(HY):IFHY=BYTHENLEAP$="T
  98. 4620  GOTO4680
  99. 4640  HY=Y/4:BY=INT(HY):IFHY=BYTHENLEAP$="T
  100. 4680  IFD<28THEND=D+1:RETURN
  101. 4690  IFD=28THENIFM=2THEN4790 ELSED=D+1:RETURN
  102. 4700  IFD=29THENIFM=2THEND=1:M=M+1:RETURN
  103. 4710  IFD=29THEND=D+1:RETURN
  104. 4720  IFD=30THENIFM=4ORM=6ORM=9ORM=11THEN4740
  105. 4730  IFD=30THEND=D+1:RETURN
  106. 4740  IFD=30THENM=M+1:D=1:RETURN
  107. 4750  D=1:IFM=12THENM=1:Y=Y+1 ELSEM=M+1
  108. 4770  RETURN
  109. 4790  IFLEAP$="F"THEND=1:M=M+1 ELSED=D+1
  110. 4800  RETURN
  111. 4860  F=0:L=0:YR=BYR:FEB=2
  112. 4900  D=YR/100:E=INT(D):IFD<>ETHEN4990
  113. 4930  D=YR/400:E=INT(D):IFD=ETHEN5070
  114. 4960  F=1:GOTO5120
  115. 4990  D=YR/4:E=INT(D):IFD=ETHEN5070
  116. 5020  IFYR=EYRTHENRETURN
  117. 5030  YR=YR+1:F=1:GOTO4900
  118. 5070  IFF<>0THEN5110
  119. 5080  F=1:IFBMON>=3THENRETURN
  120. 5100  IFBYR=EYRTHEN5150
  121. 5110  L=L+1
  122. 5120  YR=YR+4:IFYR<EYRTHEN4900
  123. 5140  IFYR>EYRTHENRETURN
  124. 5150  IFEMON>FEBTHEN5110
  125. 5160  IFEMON<FEBTHENRETURN
  126. 5170  IFEDAY=29THEN5110
  127. 5180  RETURN
  128. 5240  YEAR=365:FORI=1TO24:MON(I)=31:NEXTI:FORI=1TO13STEP12:MON(I+1)=28:MON(I+3)=30:MON(I+5)=30:MON(I+8)=30:MON(I+10)=30:NEXTI:TDAY=0:LY=EY-1:NM=0:IFEY=BYTHENNM=12 ELSETDAY=YEAR*(LY-BY)
  129. 5410  BMON=BM:BYR=BY:EDAY=ED:EMON=EM:EYR=EY:L=LDYS:GOSUB4860:BM=BMON:BY=BYR:ED=EDAY:EM=EMON:EY=EYR:LDYS=L:TDAY=TDAY+LDYS:TDAY=TDAY+MON(BM)-BD:FORI=BM+1TOEM+11-NM:TDAY=TDAY+MON(I):NEXTI:IFBM=EMANDEY=BYTHENTDAY=TDAY-MON(EM)+ED ELSETDAY=TDAY+ED
  130. 5620  RETURN
  131. 5680  L1=45:L2=45:L3=45:COD=124:COD1=43:COD2=43:COD3=124:COD4=43:COD5=43:COD6=43:COD7=43:RETURN
  132. 5850  LI=95:L1=205:L2=205:L3=205:COD=186:COD1=204:COD2=185:COD3=186:COD4=201:COD5=187:COD6=200:COD7=188:RETURN
  133. 6030  A$=INKEY$:IFA$<>CHR$(27)THENRETURN
  134. 6050  YPOS=CSRLIN:XPOS=POS(0)
  135. 6070  LOCATE25,1,1:PRT$(1)="S":PRT$(2)="kip present name, ":PRT$(3)="E":PRT$(4)="xit to DOS or Press ENTER to continue.   ":DIS=4:GOSUB7840:OF$="":GOSUB6380:LOCATE25,1:PRINTSTRING$(70," ");:IFF=13THENLOCATEYPOS,XPOS:RETURN
  136. 6190  IFF=69THENLOCATEYPOS,1,0:GOSUB4460:GOTO4370
  137. 6200  IFF=83THENLOCATEYPOS,1,0:GOSUB4460:RETURN2990
  138. 6210  GOTO6070
  139. 6250  COLOR15:LOCATE24,1:PRINT"Press a key to continue....";:BEEP:GOSUB6380:COLOR7:LOCATE23,1:PRINT:RETURN
  140. 6380  OF$=INKEY$:LOCATE,,1:IFOF$=""GOTO6380 ELSEFORIJ=1TO15:DUM$=INKEY$:NEXTIJ
  141. 6410  F=ASC(OF$):IFF>96ANDF<123THENOF$=CHR$(F-32):F=F-32
  142. 6430  RETURN
  143. 6470  OF$=INKEY$:LOCATE,,1:IFOF$=""GOTO6470 ELSEFORIJ=1TO15:DUM$=INKEY$:NEXTIJ
  144. 6500  IFASC(OF$)>31ANDASC(OF$)<123THENCR=1 ELSECR=0
  145. 6510  IFCRTHENPRINTOF$;STRING$(7," ");
  146. 6520  RETURN
  147. 6580  BOTT=9:GOSUB7740:A=INSTR(NAM$," "):IFA>8THENA=8
  148. 6630  IFA<1THENA=LEN(NAM$)
  149. 6640  FILE$=LEFT$(NAM$,A)+STRING$(8-A," ")+".PLT":LN=5:HG=3:LS=20:TP=39:GOSUB7550:LOCATE7,22:PRINT"Enter Output Filename:";FILE$;:LOCATE7,47:GOSUB6470:IFCR=0GOTO6780
  150. 6750  LOCATE,48:INPUT"",FILE$:FILE$=OF$+FILE$
  151. 6780  IFINSTR(FILE$,".")THEN ELSEFILE$=FILE$+".plt
  152. 6820  CLOSE#1
  153. 6830  KILLFILE$
  154. 6840  OPEN FILE$ FOR OUTPUT AS #1:GOSUB5680:RETURN
  155. 6990  T1=INT(D1+365.25*Y1+ADJ(M1)+0.01*M1-0.03):R1=T1-1-INT((T1-1)/7)*7:RETURN
  156. 7100  LOCATE22,1:COLOR15:PRINT" Place printer head at top of form ":GOSUB6250:LPRINTCHR$(27);CHR$(67);CHR$(66);CHR$(29);CHR$(13);:COLOR7:GOTO2960
  157. 7170  CX=1:FORI=1TO51:LINEINPUT#2,A$:A=ASC(A$):IFA=42GOTO7320
  158. 7230  IFC=0THENNAM$(CX)=A$:C=1:GOTO7300
  159. 7240  BMON(CX)=VAL(A$):BDAY(CX)=VAL(MID$(A$,4,2)):BY1(CX)=VAL(RIGHT$(A$,2)):BYR(CX)=VAL(RIGHT$(A$,2))+1900:CX=CX+1:C=0
  160. 7300  NEXTI
  161. 7320  RETURN
  162. 7550  COLOR15:A$=CHR$(201)+STRING$(TP,CHR$(205))+CHR$(187):LOCATELN,LS,0:PRINTA$:A$=CHR$(186)+STRING$(TP," ")+CHR$(186):FORI=LN+1TOHG+LN:LOCATEI,LS:PRINTA$;:NEXT:A$=CHR$(200)+STRING$(TP,CHR$(205))+CHR$(188):LOCATEI,LS,1:PRINTA$:COLOR7:RETURN
  163. 7740  FORI=TOPTOBOTT:LOCATEI,9,0:PRINTCS$;:NEXTI:LOCATE,,1:RETURN
  164. 7840  FORII=0TODISSTEP2:COLOR7,0:PRINTPRT$(II);:COLOR15:PRINTPRT$(II+1);:PRT$(II)="":PRT$(II+1)="":NEXT:PRT$(II)="":COLOR7,0:RETURN
  165. 8010  DATAMonday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,0,Jan.,31,Feb.,59,Mar.,90,Apr.,120,May.,151,Jun.,181,Jul.,212,Aug.,243,Sep.,273,Oct.,304,Nov.,334,Dec.:DATA&h55,&hcd,&h11,&h8b,&hec,&h8b,&h7e,&h06,&h89,&h05,&h5d,&hca,&h02,&h00
  166. 8090  IFERL=1250THENLOCATE24,1:PRINT"Cannot find file ";FILE1$;:RESUME1060
  167. 8100  IFERL=6830THENRESUME6840
  168. 8110  IFERL=6910THENRESUME6920
  169. 8120  PRINTERL,ERR:END
  170. 10000  FORI=1TOLEN(A1$):TST$=MID$(A1$,I,1):IFASC(TST$)<48ORASC(TST$)>57THENINVAL=-1:GOTO10099
  171. 10020  NEXTI
  172. 10099  RETURN
  173. 11000  LOCATE9,45:GOTO11020
  174. 11010  LOCATE10,45
  175. 11020  PRINTSTRING$(14,32);:RETURN
  176. 12000  GOSUB11010:LOCATE10,32:PRINT"Year ";A$;:COLOR15,0:PRINTRIGHT$(DATE$,2);:COLOR7,0:RETURN
  177. 13000  GOSUB11000:LOCATE9,32:PRINT"Day  ";A$;:COLOR15,0:PRINTMID$(DATE$,4,2);:COLOR7,0:RETURN
  178. 14000  LOCATE8,48:PRINTSTRING$(6,32);:GOTO14099
  179. 14010  LOCATE9,48:PRINTSTRING$(6,32);:GOTO14099
  180. 14020  LOCATE10,48:PRINTSTRING$(6,32);
  181. 14099  RETURN
  182.